#ifndef DFRT_SCHEDULING_H
#define DFRT_SCHEDULING_H

// There are two queues for tasks to be executed. The local queue, and the global queue.


#ifdef __cplusplus
extern "C" {
#endif

extern void schedule_regulate( struct frame_struct * frame );


extern void schedule_forlocal( struct frame_struct *frame );


extern void schedule_forglobal( struct frame_struct * frame );

extern void dfrt_delayed_tdecrease(struct frame_struct *frame );

void perform_tdecs(struct frame_struct * f);

extern void executor(struct frame_struct * frame_pointer);

extern void schedule_has_proper_termination();
void scheduling_init_tls();
#ifdef __cplusplus
}
#endif

#endif
